package com.api.user.model;

import java.io.Serializable;
import java.math.BigDecimal;
import javax.persistence.*;

@Table(name = "points_transaction")
public class PointsTransaction implements Serializable {
    @Id
    private Long transaction;

    /**
     * 交易时间
     */
    @Column(name = "transaction_time")
    private Long transactionTime;

    /**
     * 关联订单
     */
    @Column(name = "order_id")
    private Long orderId;

    /**
     * 1会员资格充值（+）2任务已完成（+）3加入快速挑战（-）4。参加比赛（-）5在兑换中心兑换（-）6加入预测并获胜（-）
     */
    @Column(name = "transaction_type")
    private Integer transactionType;

    /**
     * 扣除的用户
     */
    @Column(name = "from_user_id")
    private Long fromUserId;

    /**
     * 增加的用户
     */
    @Column(name = "to_user_id")
    private Long toUserId;

    /**
     * 交易的积分
     */
    @Column(name = "point_amount")
    private BigDecimal pointAmount;

    /**
     * 备注
     */
    private String remark;

    /**
     * 交易前的积分
     */
    @Column(name = "point_before")
    private BigDecimal pointBefore;

    /**
     * 交易后的积分
     */
    @Column(name = "point_after")
    private BigDecimal pointAfter;

    /**
     * 接受方交易前的积分
     */
    @Column(name = "to_point_before")
    private BigDecimal toPointBefore;

    /**
     * 接受方交易后的金额
     */
    @Column(name = "to_point_after")
    private BigDecimal toPointAfter;

    /**
     * 创建人的Id
     */
    @Column(name = "create_id")
    private Long createId;

    /**
     * 创建人的昵称
     */
    @Column(name = "create_user")
    private String createUser;

    private static final long serialVersionUID = 1L;

    /**
     * @return transaction
     */
    public Long getTransaction() {
        return transaction;
    }

    /**
     * @param transaction
     */
    public void setTransaction(Long transaction) {
        this.transaction = transaction;
    }

    /**
     * 获取交易时间
     *
     * @return transaction_time - 交易时间
     */
    public Long getTransactionTime() {
        return transactionTime;
    }

    /**
     * 设置交易时间
     *
     * @param transactionTime 交易时间
     */
    public void setTransactionTime(Long transactionTime) {
        this.transactionTime = transactionTime;
    }

    /**
     * 获取关联订单
     *
     * @return order_id - 关联订单
     */
    public Long getOrderId() {
        return orderId;
    }

    /**
     * 设置关联订单
     *
     * @param orderId 关联订单
     */
    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    /**
     * 获取1会员资格充值（+）2任务已完成（+）3加入快速挑战（-）4。参加比赛（-）5在兑换中心兑换（-）6加入预测并获胜（-）
     *
     * @return transaction_type - 1会员资格充值（+）2任务已完成（+）3加入快速挑战（-）4。参加比赛（-）5在兑换中心兑换（-）6加入预测并获胜（-）
     */
    public Integer getTransactionType() {
        return transactionType;
    }

    /**
     * 设置1会员资格充值（+）2任务已完成（+）3加入快速挑战（-）4。参加比赛（-）5在兑换中心兑换（-）6加入预测并获胜（-）
     *
     * @param transactionType 1会员资格充值（+）2任务已完成（+）3加入快速挑战（-）4。参加比赛（-）5在兑换中心兑换（-）6加入预测并获胜（-）
     */
    public void setTransactionType(Integer transactionType) {
        this.transactionType = transactionType;
    }

    /**
     * 获取扣除的用户
     *
     * @return from_user_id - 扣除的用户
     */
    public Long getFromUserId() {
        return fromUserId;
    }

    /**
     * 设置扣除的用户
     *
     * @param fromUserId 扣除的用户
     */
    public void setFromUserId(Long fromUserId) {
        this.fromUserId = fromUserId;
    }

    /**
     * 获取增加的用户
     *
     * @return to_user_id - 增加的用户
     */
    public Long getToUserId() {
        return toUserId;
    }

    /**
     * 设置增加的用户
     *
     * @param toUserId 增加的用户
     */
    public void setToUserId(Long toUserId) {
        this.toUserId = toUserId;
    }

    /**
     * 获取交易的积分
     *
     * @return point_amount - 交易的积分
     */
    public BigDecimal getPointAmount() {
        return pointAmount;
    }

    /**
     * 设置交易的积分
     *
     * @param pointAmount 交易的积分
     */
    public void setPointAmount(BigDecimal pointAmount) {
        this.pointAmount = pointAmount;
    }

    /**
     * 获取备注
     *
     * @return remark - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取交易前的积分
     *
     * @return point_before - 交易前的积分
     */
    public BigDecimal getPointBefore() {
        return pointBefore;
    }

    /**
     * 设置交易前的积分
     *
     * @param pointBefore 交易前的积分
     */
    public void setPointBefore(BigDecimal pointBefore) {
        this.pointBefore = pointBefore;
    }

    /**
     * 获取交易后的积分
     *
     * @return point_after - 交易后的积分
     */
    public BigDecimal getPointAfter() {
        return pointAfter;
    }

    /**
     * 设置交易后的积分
     *
     * @param pointAfter 交易后的积分
     */
    public void setPointAfter(BigDecimal pointAfter) {
        this.pointAfter = pointAfter;
    }

    /**
     * 获取接受方交易前的积分
     *
     * @return to_point_before - 接受方交易前的积分
     */
    public BigDecimal getToPointBefore() {
        return toPointBefore;
    }

    /**
     * 设置接受方交易前的积分
     *
     * @param toPointBefore 接受方交易前的积分
     */
    public void setToPointBefore(BigDecimal toPointBefore) {
        this.toPointBefore = toPointBefore;
    }

    /**
     * 获取接受方交易后的金额
     *
     * @return to_point_after - 接受方交易后的金额
     */
    public BigDecimal getToPointAfter() {
        return toPointAfter;
    }

    /**
     * 设置接受方交易后的金额
     *
     * @param toPointAfter 接受方交易后的金额
     */
    public void setToPointAfter(BigDecimal toPointAfter) {
        this.toPointAfter = toPointAfter;
    }

    /**
     * 获取创建人的Id
     *
     * @return create_id - 创建人的Id
     */
    public Long getCreateId() {
        return createId;
    }

    /**
     * 设置创建人的Id
     *
     * @param createId 创建人的Id
     */
    public void setCreateId(Long createId) {
        this.createId = createId;
    }

    /**
     * 获取创建人的昵称
     *
     * @return create_user - 创建人的昵称
     */
    public String getCreateUser() {
        return createUser;
    }

    /**
     * 设置创建人的昵称
     *
     * @param createUser 创建人的昵称
     */
    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }
}